//
//  YYTabBarController.swift
//  SinaStatuse（新浪微博）
//
//  Created by 李贤立 on 16/4/8.
//  Copyright © 2016年 李贤立. All rights reserved.
//

import UIKit

class YYTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
//        tabBar = YYTabBar()// get-only 只读属性，不能直接赋值，可以使用KVC
        let newTabBar = YYTabBar()
        setValue(newTabBar, forKey: "tabBar")
        // 3.在闭包的执行地方设置闭包
        newTabBar.composeClosure = {
            YYAlertView.alertToMessage("要发微博吗?", controller: self)
        }
        
        // 设置子控制器
        setupChildViewController()
    }
    
    // MARK:设置子控制器
    private func setupChildViewController() {
        // 首页
        setupChildViewController(YYHomeTabViewController(), imageName: "tabbar_home", title: "首页")
        
        // 消息
        setupChildViewController(YYMessageTabViewController(), imageName: "tabbar_message_center", title: "消息")
        
        // 发现
        setupChildViewController(YYDicoverTabViewController(), imageName: "tabbar_discover", title: "发现")
        
        // 我
        setupChildViewController(YYProfileTableViewController(), imageName: "tabbar_profile", title: "我")
    }
    
    private func setupChildViewController(controller:UIViewController,imageName:String,title:String) {
        // 设置tabBar图标
        controller.tabBarItem.image = UIImage(named: imageName)
        // 设置tabBar选中时的图标。用拼接的方式完成
        controller.tabBarItem.selectedImage = UIImage(named: imageName + "_selected")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)// 后面的方法防止图标在选中时被渲染
        // 设置tabBar标题
        controller.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.orangeColor()], forState: UIControlState.Selected)
        controller.title = title// 给导航条设置标题
        // 给它增加一个导航控制器
        let navc = YYNavigationController(rootViewController: controller)
        addChildViewController(navc)
        
    }
}
